// 1. 实例成员：每个实例都对应一个唯一的成员对象，也就是说所有成员都不会在原型上共享
class Person{
    constructor() {
        this.name = new String('Katrina');
        this.nickname = ['aa', 'bb'];
    };

    // 2. 类块中定义的方法作为原型方法
    locate() {
        console.log('prototype');
    };

    // name: 'dd'; // 添加原始值或者对象是不可以的（可以隐式添加 ），只能添加方法

    // 3. 静态方法，定义在类本身身上
    static locate() {
        console.log('static')
    };
};

let p1 =  new Person();
let p2 = new Person();

console.log(p1.name === p2.name);   // false;
console.log(p1.nickname === p2.nickname);  // false;

p1.locate();  // prototype



